﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DTO;
using DAO;
using BUS;

namespace GUI
{
    public partial class Sáchthưviện : UserControl
    {
        public Sáchthưviện()
        {
            InitializeComponent();
        }
        DataTable dt = new DataTable();
        private int flag = 0;

        private void Sáchthưviện_Load(object sender, EventArgs e)
        {
            hienthi();
            dt = DataProvider.GetDataTable("Sach", DataProvider.ketnoi());
            LoadListview(dt, lvwSach);
        }

        #region Load bang listview
        void LoadListview(DataTable tbl, ListView lvw)
        {
            lvwSach.Items.Clear();
            int istt = 0;
            foreach (DataRow drw in tbl.Rows)
            {
                istt++;
                ListViewItem lvwItem = new ListViewItem();
                lvwItem.Text = istt.ToString();
                lvwItem.SubItems.Add(drw["MaSach"].ToString());
                lvwItem.SubItems.Add(drw["TenSach"].ToString());
                lvwItem.SubItems.Add(drw["SoLuong"].ToString());
                lvwItem.SubItems.Add(drw["MaTG"].ToString());
                lvwItem.SubItems.Add(drw["Maloai"].ToString());
                lvwItem.SubItems.Add(drw["MaNXB"].ToString());
                lvwItem.ImageIndex = 0;
                lvwSach.Items.Add(lvwItem);
                //lblTongSoSach.Text = "Tổng số sách là : " + lvwthongtin.Items.Count.ToString() + " Sách";

            }
        }
        #endregion

        private void lvwSach_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (lvwSach.SelectedItems.Count > 0)
            {
                ListViewItem item = lvwSach.SelectedItems[lvwSach.SelectedItems.Count - 1];
                if (item != null)
                {
                    foreach (ListViewItem lvw in lvwSach.SelectedItems)
                    {
                        txtMasach.Text = lvw.SubItems[1].Text;
                        txttensach.Text = lvw.SubItems[2].Text;
                        txtsoluong.Text = lvw.SubItems[3].Text;
                        cbotacgia.SelectedValue = lvw.SubItems[4].Text;
                        cboMaLoai.SelectedValue = lvw.SubItems[5].Text;
                        cboNXB.Text = lvw.SubItems[6].Text;
                      


                    }
                }
            }
        }

        #region Hiển thị
        void hienthi()
        {
            cboNXB.DisplayMember = "MaNXB";
            cboNXB.ValueMember = "NXB";
            cboNXB.DataSource = DataProvider.GetDataTable("Nhaxuatban", DataProvider.ketnoi());

            btnLuu.Enabled = false;
            txtMasach.Enabled = false;
            txtMasach.Text = SachDAO.laymasach().ToString();

            cbotacgia.DisplayMember = "MaTG";
            cbotacgia.ValueMember = "MaTG";
            cbotacgia.DataSource = DataProvider.GetDataTable("Tacgia", DataProvider.ketnoi());

            cboMaLoai.DisplayMember = "Maloai";
            cboMaLoai.ValueMember = "Maloai";
            cboMaLoai.DataSource = DataProvider.GetDataTable("Loaisach", DataProvider.ketnoi());
        }
        #endregion

        private void btnthemsach_Click(object sender, EventArgs e)
        {
            flag = 1;
            txttensach.Focus();
            txtsoluong.Text = "";
            cboMaLoai.Text = "";
            cbotacgia.Text = "";
            btnthemsach.Enabled = false;
            btnLuu.Enabled = true;
            lvwSach.Enabled = false;
        }

        private void btnupdate_Click(object sender, EventArgs e)
        {
            flag = 2;
            txttensach.Focus();
            btnLuu.Enabled = true;
            btnupdate.Enabled = false;
            lvwSach.Enabled = false;
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (flag == 1)
            {
                DialogResult d = MessageBox.Show("Bạn có chắc là muon lưu ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (d == DialogResult.Yes)
                {
                    SachDTO sdto = new SachDTO();
                    sdto.TenSach = txttensach.Text;
                    if (flag == 1)
                    {
                        sdto.Soluong = Convert.ToInt32(txtsoluong.Text);
                    }
                    sdto.MaTG = cbotacgia.Text;
                    sdto.Maloai = cboMaLoai.Text;
                    if (SachBUS.themsach(sdto) == true)
                    {
                        MessageBox.Show("Thêm sách thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        btnthemsach.Enabled = true;
                        btnLuu.Enabled = false;
                        lvwSach.Enabled = true;

                        Sáchthưviện_Load(sender, e);
                    }
                }
            }
            if (flag == 2)
            {
                DialogResult a = MessageBox.Show("Bạn có chắc là update sách ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (a == DialogResult.Yes)
                {

                    SachDTO sdto = new SachDTO();

                    sdto.TenSach = txttensach.Text;
                    if (flag == 2)
                    {
                        sdto.MaSach = Convert.ToInt32(txtMasach.Text);
                        sdto.Soluong = Convert.ToInt32(txtsoluong.Text);
                    }
                    sdto.MaTG = cbotacgia.Text;
                    sdto.Maloai = cboMaLoai.Text;
                    if (SachBUS.updatesach(sdto) == true)
                    {
                        MessageBox.Show("Update sách thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        btnLuu.Enabled = false;
                        lvwSach.Enabled = true;
                        btnupdate.Enabled = true;

                        Sáchthưviện_Load(sender, e);

                    }

                }
            }
        }

        private void btnxoasach_Click(object sender, EventArgs e)
        {
            DialogResult a = MessageBox.Show("Bạn có chắc là update sách ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (a == DialogResult.Yes)
            {
                SachDTO sdto = new SachDTO();
                sdto.MaSach = Convert.ToInt32(txtMasach.Text);
                if (SachBUS.xoasach(sdto) == true)
                {
                    MessageBox.Show("Xoá sách thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Sáchthưviện_Load(sender, e);
                }
            }
        }

        private void Btnthoatdocgia_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }


    }
}
